﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace Nhom16_PTTKHTTT_12HCB
{
    public partial class frmNhanVien : Form
    {
        public frmNhanVien()
        {
            InitializeComponent();
        }

        public frmNhanVien(int Tabindex)
        {
            InitializeComponent();
            tabThongTinCaNhan.SelectedTabIndex = Tabindex;
        }
        
        private void frmNhanVien_Load(object sender, EventArgs e)
        {
            ThongTinNhanVien();
            LoadDanhSachChucVu();
            LayDanhSachPhanCong();
            ChiTietPhanCong(dgvDanhsachPhanCong.Rows.Count - 1);
        }

        private void ThongTinNhanVien()
        {
            txtMaNhanVien.Text = ThongTinDangNhap.MaNV; ;
            txtHoTen.Text = ThongTinDangNhap.TenNV;
            txtDiaChi.Text = ThongTinDangNhap.DiaChi;
            txtEmail.Text = ThongTinDangNhap.Email;
            txtDienThoai.Text = ThongTinDangNhap.DienThoai;
            txtTenDangNhap.Text = ThongTinDangNhap.TenDN;
            txtMatKhau.Text = ThongTinDangNhap.MatKhau;            
            cbxChucVu.SelectedValue = ThongTinDangNhap.MaChucVu;
        }

        private void LoadDanhSachChucVu()
        {
            ChucVu_BUS cvb = new ChucVu_BUS();
            DataTable dt = cvb.LoadDanhSachChucVu();
            cbxChucVu.DataSource = dt;
            cbxChucVu.DisplayMember = "TenChucVu";
            cbxChucVu.ValueMember = "MaChucVu";
        }

        private void LayDanhSachPhanCong()
        {
            PhanCong_BUS pcb = new PhanCong_BUS();
            dgvDanhsachPhanCong.DataSource = pcb.LayDanhSachPhanCong();
        }
        private void btncapNhat_Click(object sender, EventArgs e)
        {
            if (txtHoTen.Text == string.Empty)
            {
                MessageBox.Show("Chưa nhập họ tên.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtHoTen.Focus();
            }
            else if (txtDiaChi.Text == string.Empty)
            {
                MessageBox.Show("Chưa nhập địa chỉ.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtDiaChi.Focus();
            }
            else if (txtEmail.Text == string.Empty)
            {
                MessageBox.Show("Chưa nhập email.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtEmail.Focus();
            }
            else if (txtDienThoai.Text == string.Empty)
            {
                MessageBox.Show("Chưa nhập số điện thoại.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtDienThoai.Focus();
            }                     
            else
            {
                NhanVien NhanVien = new NhanVien();
                NhanVien.MaNV = txtMaNhanVien.Text;
                NhanVien.TenNV = txtHoTen.Text;
                NhanVien.DiaChi = txtDiaChi.Text;
                NhanVien.Email = txtEmail.Text;
                NhanVien.DienThoai = txtDienThoai.Text;
                NhanVien.TenDN = txtTenDangNhap.Text;
                NhanVien.MaChucVu = cbxChucVu.SelectedValue.ToString();
                NhanVien.IsDelete = false;
                NhanVien_BUS nvb = new NhanVien_BUS();
                if (nvb.CapNhatThongTinNhaVien(NhanVien))
                {
                    MessageBox.Show("Cập nhật thông tin thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ThongTinDangNhap.MaNV = txtMaNhanVien.Text;
                    ThongTinDangNhap.TenNV = txtHoTen.Text;
                    ThongTinDangNhap.DiaChi = txtDiaChi.Text;
                    ThongTinDangNhap.Email = txtEmail.Text;
                    ThongTinDangNhap.DienThoai = txtDienThoai.Text;
                    ThongTinDangNhap.TenDN = txtTenDangNhap.Text;
                    ThongTinDangNhap.MaChucVu = cbxChucVu.SelectedValue.ToString();                    
                    ThongTinNhanVien();
                }
                else
                {
                    MessageBox.Show("Cập nhật thông tin không thành công, vui lòng thử lại sau.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void dgvDanhsachPhanCong_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int index = dgvDanhsachPhanCong.CurrentRow.Index;
            ChiTietPhanCong(index);
        }        
        
        private void ChiTietPhanCong(int index)
        {
            string MaPhanCong = dgvDanhsachPhanCong.Rows[index].Cells[0].Value.ToString();            
            PhanCong_BUS pcb = new PhanCong_BUS();
            dgvChiTietPhanCong.DataSource = pcb.ChiTietPhanCong(MaPhanCong,ThongTinDangNhap.MaNV);
        }

        private void lbCapNhatMatKhau_Click(object sender, EventArgs e)
        {
            frmCapNhatMatKhau frmCapNhatMatKhau = new frmCapNhatMatKhau();
            frmCapNhatMatKhau.ShowDialog();
        }
    }
}
